package com.zk.ppa.controller;

import com.zk.ppa.commom.result.Result;
import com.zk.ppa.dao.po.FamilyMembers;
import com.zk.ppa.service.FamilyMemberService;
import com.zk.ppa.service.FamilyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author Mr.yang
 * @create 2021-03-29 21:42
 */
@Api(tags = "贫困户的家庭成员基本信息录入相关接口")
@CrossOrigin
@RequestMapping("/FamilyMembers")
@RestController
public class FamilyMembersController {
    @Autowired
    private FamilyMemberService familyMemberService;

    //保存贫困的家庭信息(批量保存)
    @ApiOperation(value = "批量保存贫困户的家庭信息")
    @PostMapping("/saveFamilyMembers")
    public Result<FamilyMembers> saveFamilyMembers(@RequestBody List<FamilyMembers> familyMembers){
       return familyMemberService.saveFamilyMember(familyMembers)? Result.SUCCESS().setMessage("贫困户的家庭信息保存成功") : Result.FAIL("贫困户的家庭信息保存失败");
    }

    //获取指定贫困户的家庭成员的基本信息
    @ApiOperation(value = "获取指定贫困户的所有家庭成员的基本信息")
    @PostMapping("/getFamilyMembers")
    public Result<FamilyMembers> getFamilyMembers(@RequestBody long family_id){
        List<FamilyMembers> familyMembers = familyMemberService.getFamilyMembers(family_id);
        if (familyMembers != null){
            return Result.SUCCESS().setData(familyMembers).setMessage("该贫困户的家庭成员基本信息获取成功");
        } else {
            return Result.FAIL("该贫困户的家庭成员基本信息获取失败");
        }
    }

    //修改指定贫困户的某个家庭成员的基本信息
    @ApiOperation(value = "修改指定贫困户的某个家庭成员的基本信息")
    @PostMapping("/updateFamilyMembers")
    public Result<FamilyMembers> updateFamilyMembersById(@RequestBody FamilyMembers familyMembers){
       return familyMemberService.updateFamilyMembersById(familyMembers)? Result.SUCCESS().setMessage("贫困户的家庭信息修改成功") : Result.FAIL("贫困户的家庭信息修改失败");
    }

    //删除指定贫困户的某个家庭成员的基本信息
    @ApiOperation(value = "删除指定贫困户的某个家庭成员的基本信息")
    @PostMapping("/deleteFamilyMembers")
    public Result<FamilyMembers> deleteFamilyMembersById(@RequestBody long familyId, @RequestBody long Id){
       return familyMemberService.deleteFamilyMembersById(familyId, Id)? Result.SUCCESS().setMessage("贫困户的该家庭成员信息删除成功") : Result.FAIL("贫困户的该家庭成员信息删除失败");
    }
}
